package com.xfcy.orders.service;

import com.xfcy.messagesdk.model.po.MqMessage;
import com.xfcy.orders.model.dto.AddOrderDto;
import com.xfcy.orders.model.dto.PayRecordDto;
import com.xfcy.orders.model.dto.PayStatusDto;
import com.xfcy.orders.model.po.XcPayRecord;

/**
 * @author 晓风残月Lx
 * @date 2023/7/6 21:51
 *      订单相关的Service
 */
public interface OrderService {


    /**
     * 创建商品订单
     * @param userId
     * @param addOrderDto
     * @return
     */
    public PayRecordDto createOrder(String userId, AddOrderDto addOrderDto);

    /**
     * 查询支付记录
     * @param payNo
     * @return
     */
    public XcPayRecord getPayRecordByPayno(String payNo);


    /**
     * 请求支付宝查询支付结果
     * @param payNo 支付记录id
     * @return 支付记录信息
     */
    public PayRecordDto queryPayResult(String payNo);


    /**
     * 保存支付状态
     * @param payStatusDto
     */
    public void saveAliPayStatus(PayStatusDto payStatusDto);


    /**
     * 发送通知结果
     * @param mqMessage
     */
    public void notifyPayResult(MqMessage mqMessage);

}
